package org.jiajie.designpatterndemo.adapter.lxf;

import java.util.concurrent.Callable;

/**
 * 这个 RunnableAdapter 类就是 Adapter，它接收一个 Callable，输出一个 Runnable。
 *
 * @author jay
 */
public class RunnableAdapter implements Runnable {
    /**
     * 引用待转换接口
     */
    private Callable<?> callable;

    public RunnableAdapter(Callable<?> callable) {
        this.callable = callable;
    }

    /**
     * 实现指定接口
     */
    @Override
    public void run() {
        // 将指定接口调用委托给转换接口调用：
        try {
            callable.call();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
